[Oracle] oracle 定期删除trace文件


本文总阅读量

oracle 定期删除trace文件

cat del_trace.sh

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/bin/bash
#oracle 11gR2 rdbms

#声明oracle环境变量
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0.4/dbhome_1
#声明主机名
export HOST_NAME=`hostname`
#声明日期,用于删除几天前的文件
export DAYS=7

#一台服务器装有多个实例,可使用循环进行删除
for dbname in instancea instanceb
do
export DB_NAME=$dbname
export DB_UNIQUE_NAME=${DB_NAME}
export ORACLE_SID=${DB_NAME}
#当前实例为rac模式节点1,启用该变量
#export ORACLE_SID=${DB_NAME}1
#当前实例为rac模式节点2,启用该变量
#export ORACLE_SID=${DB_NAME}2

#指定存放日志的路径
DIAGNOSTIC_DEST=${ORACLE_BASE}

#如果audit_trail_dest的一个默认值不生效,会使用下面第二个默认值:
AUDIT_FILE_DEST=${ORACLE_BASE}/admin/${DB_NAME}/adump

#删除audit_trail_dest第一个默认值下的审计日志,并删除7天前的日志
find ${ORACLE_HOME}/rdbms/audit -name "${ORACLE_SID}_*.aud" -mtime +${DAYS} -exec rm -f {} \;
#如果audit_trail_dest的一个默认值不生效,查找第二个默认值下的审计日志,并删除7天前的日志:
find ${AUDIT_FILE_DEST} -name "${ORACLE_SID}_*.aud" -mtime +${DAYS} -exec rm -f {} \;
#删除指定路径alert下的文件
find ${DIAGNOSTIC_DEST}/diag/rdbms/${DB_UNIQUE_NAME}/${ORACLE_SID}/alert -name "log_[0-9]*.xml" -mtime +${DAYS} -exec rm -f {} \;
#删除指定路径trace下的文件
find ${DIAGNOSTIC_DEST}/diag/rdbms/${DB_UNIQUE_NAME}/${ORACLE_SID}/trace -name "${ORACLE_SID}_*.tr[c|m]" -mtime +${DAYS} -exec rm -f {} \;
find ${DIAGNOSTIC_DEST}/diag/rdbms/${DB_UNIQUE_NAME}/${ORACLE_SID}/trace -name "cdmp_*" -mtime +${DAYS} -exec rm -rf {} \;
done

将该脚本,添加到cron下每日定期删除

目录
  1. 1. oracle 定期删除trace文件

Proudly powered by Hexo and Theme by Lap
本站访客数人次
© 2020 zeven0707's blog